<template>
  <div>
    <el-table
      :data="tableData"
      style="width: 100%;margin-bottom: 20px;"
      row-key="id"
      border
      :tree-props="{ children: 'children'}"
    >
      <el-table-column prop="id" label="角色编号"  width="180">
      </el-table-column>
      <el-table-column prop="rolename" label="角色名称"  width="180">
      </el-table-column>
      <el-table-column  label="状态">
        <template slot-scope="scope">
            <el-button type="success" v-if="scope.row.status === 1">启用</el-button>
            <el-button type="danger" v-else>禁止</el-button>
        </template>
      </el-table-column>
      <el-table-column  label="操作">
        <template v-slot="scope">
            <el-button type="success" @click="edit(scope.row.id)">编辑</el-button>
            <el-button type="danger" @click="del(scope.row.id)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
  </div>
</template>

<script>
import {mapGetters,mapActions} from 'vuex'
import { delRole } from '../../../utils/request';
import { successAlert } from '../../../utils/alert';
export default {
  computed:{
    ...mapGetters({ 
      "tableData":"role/role"
    })
  },
  methods:{
    ...mapActions({
      "requestRole":"role/roleActions"
    }),
    edit(id){
      this.$emit('edit',id)
    },
    del(id){
        this.$confirm('确定要删除该角色吗?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
           delRole({id}).then(res=>{
             successAlert(res.data.msg)
            //  更新角色列表
            this.requestRole()
           })
          }).catch(() => {
            this.$message({
              type: 'info',
              message: '已取消删除'
            });
          });
    }
  },
  mounted(){
    this.requestRole()
  }
}
</script>

<style>

</style>
